#ifndef __CONTROLS_LIST
#define __CONTROLS_LIST

//---------------------------------------------------------------------------
CLASSBASE( ControlsList, public MyValArray<TControl*> )
  public:
    ControlsList( void );

    void ButtonDown( bool down );
    void Enable( bool en );
    void Caption( const AnsiString& s );
    void Text( const AnsiString& s );
    void ItemIndex( int idx );
    void Font( TFont *f );
    void Width( int v );
    void Height( int v );
    void Color( TColor cl );
    void FontColor( TColor cl );
    void Hint( const AnsiString& s );
};
//---------------------------------------------------------------------------
LOCALSTRUCT( GUIControlInfo )
  PMVModule       Parent;
  DWORD           Id;
  MyString        Caption;
  MyString        Description;
  LPVOID          UserPtr;

  TControl* __fastcall (__closure *CreateControl)( PGUIControlInfo p, TWinControl *Parent );
  bool      __fastcall (__closure *PaintIcon)( PGUIControlInfo p, TCanvas *dc, const MyRect& r );

  GUIControlInfo( void ) { memset( this, 0, sizeof(*this) ); }
};

#endif